The present invention relates to computer animation. More particularly, the present invention relates to techniques and apparatus for efficient rendering of hair on objects.
Throughout the years, movie makers have often tried to tell stories involving make-believe creatures, far away places, and fantastic things. To do so, they have often relied on animation techniques to bring the make-believe to “life.” Two of the major paths in animation have traditionally included, drawing-based animation techniques and physical animation techniques.
Drawing-based animation techniques were refined in the twentieth century, by movie makers such as Walt Disney and used in movies such as “Snow White and the Seven Dwarfs” (1937) and “Fantasia” (1940). This animation technique typically required artists to hand-draw (or paint) animated images onto a transparent media or cels. After painting, each cel would then be captured or recorded onto film as one or more frames in a movie.
Physical-based animation techniques typically required the construction of miniature sets, props, and characters. The filmmakers would construct the sets, add props, and position the miniature characters in a pose. After the animator was happy with how everything was arranged, one or more frames of film would be taken of that specific arrangement. Physical animation techniques were developed by movie makers such as Willis O'Brien for movies such as “King Kong” (1933). Subsequently, these techniques were refined by animators such as Ray Harryhausen for movies including “Mighty Joe Young” (1948) and Clash Of The Titans (1981).
With the wide-spread availability of computers in the later part of the twentieth century, animators began to rely upon computers to assist in the animation process. This included using computers to facilitate drawing-based animation, for example, by painting images, by generating in-between images (“tweening”), and the like. This also included using computers to augment physical animation techniques. For example, physical models could be represented by virtual models in computer memory, and manipulated.
One of the pioneering companies in the computer aided animation (CA) industry was Pixar. Pixar developed both computing platforms specially designed for computer animation and animation software now known as RenderMan®. RenderMan® was particularly well received in the animation industry and recognized with two Academy Awards®.
RenderMan® software is used to convert graphical specifivations of objects and convert them into one or more images. This technique is known in the industry as rendering. One specific portion of the rendering process is known as surface shading. In the surface shading process, the surface shader software determines how much light is directed towards the viewer from the surface of objects in an image in response to the applied light sources. Two specific parameters that are used for shading calculations includes a surface normal and a surface illumination.
The surface shading process is quite effective for coherent surfaces where there are smoothly varying surface properties. However, this process is not effective for shading hair, because hair is typically a large collection of infinitely thin curves (one-dimensional) that have little physical relation to neighboring hairs. Further, this process is not effective because unlike standard surfaces, hair does not have a well-defined surface normal.
Hair illumination processes have been proposed to solve the problem of illuminating a one dimensional hair in a three dimensional world. One such process has included the use of tangent-based lighting response to determine hair illumination, and the use of deep shadows for self-shadowing.
Drawbacks to tangent-based illumination solutions include that this method often leads to visually distracting artifacts. That is, viewers typically expect hair to have smooth illumination across neighboring hairs, but with this method, there is no hair to hair lighting coherency, thus hair will “sparkle” or “pop” to a viewer. Another drawback is that unrelated hairs that are spatially far apart may erroneously have the same lighting response. For example, in the case of back-lit head, if a hair on the front of a head and a hair on back of the head have the same tangent, they will have the same illumination. As a result, even though the head is supposed to be silhouetted, hairs on the front the head will be still be illuminated.
Drawbacks to the use of deep shadows for hair self-shadowing include that they are computationally intensive, and they are inflexible. As is known, deep shadows maps are computed separately for each illumination source, and for a specific illumination position. If an animator decides to change the position of the camera, the entire deep shadow map for that illumination source will need to be recomputed. Yet another drawback is that because hair is computationally expensive to shade, a hair model having fewer hairs may used. However, if the hair is back-lit, the thinness of the hair model will be apparent to a viewer.
In light of the above, what is needed are improved techniques to render hair without the visual problems described above.